#pragma once
#include <iostream>
#include <vector>
#include <math.h>
#include "State.h"

class Algorithm
{
public:
	Algorithm(std::vector<State> &states);
	~Algorithm();
	void Schrage();
	void SchragePmtn();
	std::vector<State> GetStates();
	int GetCmax();
private:
	int Cmax;
	std::vector<State> states;
	std::vector<State> done;
	State FindMaxQ(std::vector<State> &states,unsigned int &id);
};